本人长期出售超大量微博数据、旅游网站评论数据,并提供各种指定数据爬取服务,Message to YuboonaZhang@Yahoo.com。同时欢迎加入社交媒体数据交流群:99918768

解决CMAKE编译第三方开源软件需要下载的问题

经常会出现这种问题:我们从github上面下载了一些开源软件,但是这个开源软件本身其实是会下载很多其他开源软件,编译后作为软件的一部分。
看起来好像没什么问题,但是有时候这个下载很耗时间,让整个安装变得很慢,它本身的这个下载过程下载东西真的很不稳定。所以就导致了有可能的安装失败。重新多次安装又要多次下载,这个过程真的很浪费时间和网络资源硬盘资源。

解决方案

通过对于我最近使用的一个软件的cmake过程的研究,发现这个软件安装时进行第三方的包的下载的时候,是通过CMAKE自带的下载和编译功能进行的。所以为了:

  • 能够让下载第三方源码的过程被消除
  • 同时为了保证不发生因为下载慢,导致的第三方的开源软件的编译的进程竞争,进而导致安装时的开源软件之间的互相依赖或者make文件不存在问题。

--采用网上对于CMAKE过程的修改方法

  1. 将.cmake 文件中的以下代码

    --Download step--------------

    DOWNLOAD_DIR ${SB_DOWNLOAD_DIR}
    URL https://github.com/gflags/gfl...
    URL_MD5 5cb0a1b38740ed596edb7f86cd5b3bd8
    部分更改为

    --Download step--------------

    DOWNLOAD_COMMAND ""

  2. 同时,将src(这个文件是原本解压下载的第三方源码source的地方,具体名称要看CMakeLists.txt中SOURCE_DIR的设置)中的各个第三方源码都解压好,放到src对应的文件夹中。

结果:这样整个程序编译第三方开源软件的编译过程就可以直接调用src目录中我们早就自己下载好的源码进行安装了

个人博客

8aoy1.cn


YuboonaZhang
13 声望10 粉丝

技术改变生活